﻿using System.ComponentModel.DataAnnotations;
using static Modules.BankSpecialAccount.BankSpecialAccountConstants;

namespace ManagementApi.Models.System.ProjectSpecialAccount
{
    /// <summary>
    /// 支付明细表单
    /// </summary>
    public class ProjectSpecialAccountPaymentDetailsEditForm
    {
        /// <summary>
        /// author:hzj
        /// date:2023/11/8
        ///</summary>
        public int Id { get; set; }
        /// <summary>
        /// 流水号 
        ///</summary>
        [Display(Name = "流水号")]
        [Required(ErrorMessage = "{0}不能为空")]
        public string? SerialNumber { get; set; }
        /// <summary>
        /// 项目ID 
        ///</summary>
        [Display(Name = "项目ID")]
        [Required(ErrorMessage = "{0}不能为空")]
        public int ProjectId { get; set; }

        /// <summary>
        /// 银行流水号 
        ///</summary>
        [Display(Name = "银行流水号")]
        public string? BankSerialNumber { get; set; }
        /// <summary>
        /// 银行账号 
        ///</summary>
        [Display(Name = "银行账号")]
        [Required(ErrorMessage = "{0}不能为空")]
        public string? BankNo { get; set; }
        /// <summary>
        /// 务工人员身份证号 
        ///</summary>
        [Display(Name = "务工人员身份证号")]
        [Required(ErrorMessage = "{0}不能为空")]
        public string? IdNumber { get; set; }
        /// <summary>
        /// 务工人员姓名 
        ///</summary>
        [Display(Name = "务工人员姓名")]
        [Required(ErrorMessage = "{0}不能为空")]
        public string? Username { get; set; }
        /// <summary>
        /// 工资所属年月 
        ///</summary>
        [Display(Name = "工资所属年月")]
        [Required(ErrorMessage = "{0}不能为空")]
        public DateTime WageDate { get; set; }
        /// <summary>
        /// 应发工资 
        ///</summary>
        [Display(Name = "支付方式")]
        [Required(ErrorMessage = "{0}不能为空")]
        public decimal Payable { get; set; }
        /// <summary>
        /// 实发工资 
        ///</summary>
        [Display(Name = "实发工资")]
        [Required(ErrorMessage = "{0}不能为空")]
        public decimal Reality { get; set; }
        /// <summary>
        /// 扣发工资 
        ///</summary>
        [Display(Name = "扣发工资")]
        [Required(ErrorMessage = "{0}不能为空")]
        public decimal Deduct { get; set; }
        /// <summary>
        /// 支付方式(1：银行卡 2：现金 3：社会保障卡 4：其他) 
        ///</summary>
        [Display(Name = "支付方式")]
        [Required(ErrorMessage = "{0}不能为空")]
        public 支付方式 PaymentMethod { get; set; }

        /// <summary>
        /// 付款日期 
        ///</summary>
        [Display(Name = "付款日期")]
        public DateTime? PaymentDate { get; set; }
    }
}
